import Command from "./command"

export class GetMeasurementsDataCommand extends Command {
  constructor() {
    super(...arguments)
    this.id = "MEASUREMENTS_GET"
  }
}
export class ToggleMeasureModeCommand extends Command {
  constructor(active: any) {
    super()
    this.id = "SDK_MEASUREMENT_TOGGLE"
    this.payload = { active }
  }
}
export class MeasurementVisibilityCommand extends Command {
  constructor(visible: any, ...sids: string[]) {
    super()
    this.id = "VISIBILITY_MEASUREMENT"
    this.payload = { sids, visible }
  }
}
export class MeasurementRenameCommand extends Command {
  constructor(sid: string, text = "") {
    super()
    this.id = "RENAME_MEASUREMENT"
    this.payload = { sid, text }
  }
}
export class MeasurementDeleteSelectedCommand extends Command {}
export class MeasurementDeleteCommand extends Command {
  constructor(index: any) {
    super()
    this.payload = { index }
  }
}
export class MeasurementListDeletionCommand extends Command {
  constructor(...sids: string[]) {
    super()
    this.payload = { sids }
  }
}
export class MeasurementContentsReplace extends Command {
  constructor(e: any) {
    super()
    this.payload = e
  }
}
export class MeasurementSelect extends Command {
  constructor(e: any) {
    super()
    this.payload = e
  }
}
export class MeasurementSelectById extends Command {
  constructor(sid: string) {
    super()
    this.payload = { sid }
  }
}
export class MeasurementModeToggle extends Command {
  constructor(on: any, dimWhileActive?: any) {
    super()
    this.payload = { on, dimWhileActive: dimWhileActive || on }
  }
}
export class MeasurementStop extends Command {}
export class MeasurementNewline extends Command {}
